<?php
	include_once('class.Conexao.php');
	include_once('class.Geral.php');
	include_once('class.Paginador.php');
	include_once('class.TemplatePower.php');

	class GeraTabela{
		var $tpl;
		var $not_db1;
		//PAGINADOR
		
		var $regppage = 10;
		var $showpag = 3;
		var $pagina;
		
		//URLS JAVASCRIPT
		var $url_busca = '';
		var $url_man_novo = '';
		var $url_man_editar = '';
		var $url_man_excluir = '';
		
		
		function GeraTabela($url){
			header("Content-Type: text/html; charset=ISO-8859-1",true);
			$this->not_db1 = new Persist;
			$this->tpl = new TemplatePower($url);
			$this->tpl->prepare();
		}
		
		//RETURN CAMPOS TABELA
		function geraCamposTabela($sql){
			$elementos_tabela[] = array();
			$this->not_db1->sql = $sql;
			$this->not_db1->ler("Sim");
			
			foreach($this->not_db1->var_dado as $v)
				$elementos_tabela[] = $v;	
				
			return $elementos_tabela;
		}
		
		function montaPesquisa($parametros){
			
		}
		
		function montaTabelaPesquisa($sql,$pagina = 1){
			$this->tpl->assign("url_busca",$this->url_busca);
			$this->tpl->assign("url_man_novo",$this->url_man_novo);
			$this->tpl->assign("url_man_editar",$this->url_man_editar);
			$this->tpl->assign("url_man_excluir",$this->url_man_excluir);
			
			$paginador = new Paginacao($this->regppage,$this->showpag);
			
			$this->tpl->assign('pag',$paginador->montaPaginacao($sql,$this->url_busca,$this->pagina));
			$sql = $paginador->montaQuery($sql,$this->pagina);
			
		
			$numero_colunas = 0;
			$nome_tabelas = $this->geraCamposTabela($sql);
			
			foreach($nome_tabelas as $v){
				if(is_string($v)){
					$this->tpl->newBlock("LINHA");
					$this->tpl->assign("nome_tabela",$v);
				}
			}
			$this->not_db1->sql = $sql;
			$this->not_db1->ler();
			
			while($this->not_db1->ini()){
				////LINHA DAS TABELAS
				$this->tpl->newBlock("LOOP");
			
				for($x=1;$x<count($nome_tabelas);$x++){
					$this->tpl->newBlock("LINHA_VALOR");
					//COLUNAS DAS TABELAS
					$comando = '$this->tpl->assign("valor",$this->not_db1->'.$nome_tabelas[$x].')';
					eval("$comando;");
				}
			}
			
			$this->tpl->gotoBlock("_ROOT");
			
			$this->montaTemplate();
		}
		
		function montaTemplate(){
			$this->tpl->showUnAssigned( false );
			$this->tpl->printToScreen();
		}
	}
?>